# Author:wyq

name = "wangYQ"
name2 = "wang \t hh"
name3 = "my name is {name}"
# capitalize 首字母大写
print(name.capitalize())
# 统计a
print(name.count("q"))
# 打印50个字符不够用-补充，将name放在中间
print(name.center(50,"-"))
# 二进制的转换
name.encode()
# 判断一个字符串是不是以Q结尾
print(name.endswith("Q"))
# 将tab键转成空格
print(name2.expandtabs(tabsize=10))
# 字符串也可以切片，find的命令是查那个字符在整个字符串的位置
print(name[name.find('a'):3])

# 字符串格式化
print(name3.format(name=name))
# format_map这种可以传入一个字典
print(name3.format_map({'name':'Mr.wang'}))
# 是不是阿拉伯数字字符（包含所有的英文字符和数字）；
print(name.isalnum())
# 是否是一个纯英文
print(name.isalpha())
# 判断是否是一个十进制
print('1A'.isdecimal())
# 判断是否是合法的变量名
print('_as'.isidentifier())
# 判断是不是只有数字
print('333'.isnumeric())
# 判断是一个空格
print(''.isspace())
# 判断是一个方法检测字符串中所有的单词拼写首字母是否为大写，且其他字母为小写
print('My name is'.istitle())
# 判断是不是可以打印 Linux 下有tty file，drive file 这类不能打印
print('My name is'.isprintable())
# 判断是不是全是大写，同理也有判断全是小写的方法
print('dd'.isupper())
# 将列表变成字符串
print(".".join(['1','2','3']))
# 判断字符串够不够50个，不够在右添加* 补足
# 同理rjust()也有这个方法，主要是是在左侧补足
print(name.ljust(50,"*"))
# 将字符串变成小写
# 大写upper()
print(name.lower())
# 左侧去空格和回车
# 右侧去空格rstrip()
# 去左右就是strip()
print(name.lstrip())
# maketrans 替换
p = str.maketrans("abcdef","123456")
print('Wang'.translate(p))
# 替换
print('wanga'.replace('a','L',1))
# 从左开始面查找最右面其索引
print(name.rfind('e'))
# 字符串切割，默认是扣个， 如果是用n，那么打印出的结果就没有n
print('wang a'.split())
# 按换行符切割
print('1+2\n+3+4'.splitlines())
# 大写变小写
print('Wang'.swapcase())
# 把字符变成title
print('wang'.title())
# 位置不够用0填充
print('wang'.zfill(80))